239 research outputs found

    Shape predicates allow unbounded verification of linearizability using canonical abstraction

    Get PDF
    Canonical abstraction is a static analysis technique that represents states as 3-valued logical structures, and is able to construct finite representations of systems with infinite statespaces for verification. The granularity of the abstraction can be altered by the definition of instrumentation predicates, which derive their meaning from other predicates. We introduce shape predicates for preserving certain structures of the state during abstraction. We show that shape predicates allow linearizability to be verified for concurrent data structures using canonical abstraction alone, and use the approach to verify a stack and two queue algorithms. This contrasts with previous efforts to verify linearizability with canonical abstraction, which have had to employ other techniques as well

    Refinement and the Z Schema Calculus

    Get PDF
    AbstractIt is well known that the principal operators in the Z schema calculus are not monotonic with respect to refinement, which limits their usefulness in software development. The usual reaction to this observation is to remove all schema operators before performing any kind of refinement, or to move to a different formalism such as B or the refinement calculus. This paper examines the interaction between refinement and the schema calculus more closely, showing exactly how non-monotonicity arises, and identifying various conditions under which components of schema expressions can be safely replaced by their refinements. This analysis uses a decomposition of the standard refinement relation into two simpler relations that allow us to study refinements that modify a specification in different ways

    A survey of software development practices in the New Zealand software industry

    Get PDF
    We report on the software development techniques used in the New Zealand software industry, paying particular attention to requirements gathering. We surveyed a selection of software companies with a general questionnaire and then conducted in-depth interviews with four companies. Our results show a wide variety in the kinds of companies undertaking software development, employing a wide range of software development techniques. Although our data are not sufficiently detailed to draw statistically significant conclusions, it appears that larger software development groups typically have more well-defined software development processes, spend proportionally more time on requirements gathering, and follow more rigorous testing regimes

    Encoding Featherweight Java with Assignment and Immutability using The Coq Proof Assistant

    Get PDF
    We develop a mechanized proof of Featherweight Java with Assignment and Immutability in the Coq proof assistant. This is a step towards more machine-checked proofs of a non-trivial type system. We used object immutability close to that of IGJ [8]. We describe the challenges of the mechanization and the encoding we used inside of Coq. prover. Our Coq sources are publically available 1. Example. We define a parametrized class Cell, where the mutable instantiation can get and set the interned object, whereas the immutable instantiation can only get the interned object, provided initially in the constructor. We chose to use transitive mutability in this example. 1

    Towards linking correctness conditions for concurrent objects and contextual trace refinement

    Get PDF
    Correctness conditions for concurrent objects describe how atomicity of an abstract sequential object may be decomposed. Many different concurrent objects and proof methods for them have been developed. However, arguments about correctness are conducted with respect to an object in isolation. This is in contrast to real-world practice, where concurrent objects are often implemented as part of a programming language library (e.g., java.util.concurrent) and are instantiated within a client program. A natural question to ask, then is: How does a correctness condition for a concurrent object ensure correctness of a client program that uses the concurrent object? This paper presents the main issues that surround this question and provides some answers by linking different correctness conditions with a form of trace refinement

    Exercise improves depression through positive modulation of brain-derived neurotrophic factor (BDNF).:A review based on 100 manuscripts over 20 years

    Get PDF
    © 2023 The Author(s). This is an open access article distributed under the terms of the Creative Commons Attribution License (CC BY), https://creativecommons.org/licenses/by/4.0/The aim of this review was to explore the relevant neurobiology and the association between peripheral levels of brain-derived neurotrophic factor (BDNF) and acute and short to long-term exercise regimes, as well as its relation to depression and antidepressant treatment. A 20-years literature search was conducted. The screening process resulted in 100 manuscripts. Antidepressants as well as acute exercise, particularly high-intensity, elevates BDNF in healthy humans and clinical populations, as evidenced from aerobic and resistance-based studies. Although exercise is increasingly recognised in the management of depression, acute and short-term exercise studies have failed to establish a relationship between the severity of depression and changes in peripheral BDNF. The latter rapidly returns to baseline, possibly indicating a quick re-uptake by the brain, aiding its neuroplasticity functions. The timescale of administration needed for the antidepressants to stimulate biochemical changes is longer than similar increases with acute exercise.Peer reviewe

    Type 2 Diabetes Risk Alleles Are Associated With Reduced Size at Birth

    Get PDF
    OBJECTIVE: Low birth weight is associated with an increased risk of type 2 diabetes. The mechanisms underlying this association are unknown and may represent intrauterine programming or two phenotypes of one genotype. The fetal insulin hypothesis proposes that common genetic variants that reduce insulin secretion or action may predispose to type 2 diabetes and also reduce birth weight, since insulin is a key fetal growth factor. We tested whether common genetic variants that predispose to type 2 diabetes also reduce birth weight. RESEARCH DESIGN AND METHODS: We genotyped single-nucleotide polymorphisms (SNPs) at five recently identified type 2 diabetes loci (CDKAL1, CDKN2A/B, HHEX-IDE, IGF2BP2, and SLC30A8) in 7,986 mothers and 19,200 offspring from four studies of white Europeans. We tested the association between maternal or fetal genotype at each locus and birth weight of the offspring. RESULTS: We found that type 2 diabetes risk alleles at the CDKAL1 and HHEX-IDE loci were associated with reduced birth weight when inherited by the fetus (21 g [95% CI 11-31], P = 2 x 10(-5), and 14 g [4-23], P = 0.004, lower birth weight per risk allele, respectively). The 4% of offspring carrying four risk alleles at these two loci were 80 g (95% CI 39-120) lighter at birth than the 8% carrying none (P(trend) = 5 x 10(-7)). There were no associations between birth weight and fetal genotypes at the three other loci or maternal genotypes at any locus. CONCLUSIONS: Our results are in keeping with the fetal insulin hypothesis and provide robust evidence that common disease-associated variants can alter size at birth directly through the fetal genotype
    corecore